The INVERT function uses the Gaussian elimination method to compute the inverse of a square array. Errors from singular or near-singular arrays are accumulated in the optional Status argument.
Note: If you are working with complex inputs, use the LA_INVERT function instead.
Result = INVERT( Array [, Status] [, /DOUBLE] )
The result is a single- or double-precision array of floating or complex values.
The array to be inverted. Array must have two dimensions of equal size (i.e., a square array) and can be of any type except string. Note that the resulting array will be composed of single- or double-precision floating-point or complex values, depending on whether the DOUBLE keyword is set.
A named variable to receive the status of the operation. Possible status values are:
Set this keyword to force the computation to be done in double-precision arithmetic.
; Create an array A:
A = [[ 5.0, -1.0, 3.0], $
[ 2.0, 0.0, 1.0], $
[ 3.0, 2.0, 1.0]]
result = INVERT(A)
; We can check the accuracy of the inversion by multiplying the
; inverted array by the original array. The result should be a 3 x
; 3 identity array.
PRINT, result # A
IDL prints:
1.00000 0.00000 0.00000
0.00000 1.00000 0.00000
0.00000 9.53674e-07 1.00000
Original |
Introduced |